#pragma once

#include "Agent.h"
#include "BehaviorTree.h"

class WolfAgent : public Agent
{
	public:
		WolfAgent();
		~WolfAgent();

		void Initialize(std::vector<std::vector<Node*>> &pGrid);
		void Cleanup();
		void Update(float pDeltaTime);

		void SearchArea();
		void Think();
		void Act();


		//FUNCTION POINTERS
		int Wander(BNode::Status p_Status);
		int FindFood(BNode::Status p_Status);
		int TimeCheck(BNode::Status p_Status);
		int CheckForBear(BNode::Status p_Status);
		int RunFromBear(BNode::Status p_Status);

		int CheckForFood(BNode::Status p_Status);
		int WalkTowardsFood(BNode::Status p_Status);
		int EatFood(BNode::Status p_Status);
	private:
		BNode *m_xNode;

};